Method for Controlling Application and Related Devices

ABSTRACT

A method for controlling application and related devices are provided. The method includes the follows. A CPU utilization of a system of a terminal device is obtained in response to a selection operation for a target application of the terminal device. When the CPU utilization of the system is greater than or equal to a preset utilization, a state of at least one of applications in the background is changed, so as to decrease the CPU utilization of the system. The target application is then launched.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is a continuation-in-part of PCT Application No. PCT/CN2017/086593, filed on May 31, 2017, which claims priority to Chinese Patent Application No. 201610380636.2, filed on May 31, 2016, the contents of both of which are hereby incorporated by reference in their entireties.

TECHNICAL FIELD

This disclosure relates to the technical field of terminal device, and particularly to a method for controlling application and related devices.

BACKGROUND

Among current mainstream operating systems of terminal devices, resource management modules related to a central processing unit (CPU) such as a frequency regulator, a task scheduler and the like are generally included. The frequency regulator is operable to automatically increase a frequency of the CPU when the CPU utilization is too great. The task scheduler is operable to arrange time slices of the CPU in units of tasks to run tasks in a task queue.

SUMMARY

Implementations of the present disclosure provide a method for controlling application and related devices, which can increase a speed of launching an application, optimize efficiency of managing a central processing unit (CPU), and avoid a phenomenon of slow response in a process of running an application.

In a first aspect, the implementations of the present disclosure provide a method for controlling application which may include the follows. A CPU utilization of a system of a terminal device is obtained in response to a selection operation for a target application of the terminal device, and whether the CPU utilization of the system is higher than or equal to a preset utilization is determined. Based on a determination that the CPU utilization of the system is higher than or equal to the preset utilization, a state of at least one of applications in the background of the terminal device is changed according to at least one of the follows: a launch priority of each of the applications and a CPU utilization of each of the applications, so as to control the CPU utilization of the system of the terminal device to be lower than the preset utilization. The target application is launched when the CPU utilization of the system is lower than the preset utilization.

In a second aspect, a terminal device is provided. The terminal device may include at least one processor and a computer readable memory coupled to the at least one processor and storing at least one computer executable instruction therein which, when executed by the at least one processor, causes the at least one processor to carry out actions. The actions may include the follows. A CPU utilization of a system of the terminal device is obtained in response to a selection operation for a target application of the terminal device, and whether the CPU utilization of the system is higher than or equal to a preset utilization is determined. Based on a determination that the CPU utilization of the system is higher than or equal to the preset utilization, a state of at least one of applications in the background of the terminal device is changed according to at least one of the follows: a launch priority of each of the applications and a CPU utilization of each of the applications, so as to control the CPU utilization of the system of the terminal device to be lower than the preset utilization. The target application is launched when the CPU utilization of the system is lower than the preset utilization.

In a third aspect, another terminal device is provided. The terminal device may include at least one processor and a computer readable memory coupled to the at least one processor and storing at least one computer executable instruction therein which, when executed by the at least one processor, causes the at least one processor to carry out actions. A CPU utilization of a system of the terminal device is obtained in response to a selection operation for a target application of the terminal device, and whether the CPU utilization of the system is higher than or equal to a preset utilization is determined. Based on a determination that the CPU utilization of the system is higher than or equal to the preset utilization, a state of at least one of applications in the background of the terminal device is changed to decrease a CPU utilization of each of the at least one of the applications. The target application is launched when the state of the at least one of the applications is changed.

BRIEF DESCRIPTION OF THE DRAWINGS

To describe technical solutions in the implementations of the present disclosure more clearly, the following briefly introduces the accompanying drawings required for describing the implementations. Apparently, the accompanying drawings in the following description illustrate some implementations of the present disclosure. A person ordinarily skilled in the art may also obtain other accompanying drawings based on these accompanying drawings without creative efforts.

FIG. 1 is a schematic flow chart illustrating a method for controlling application according to an implementation of the present disclosure.

FIG. 2 is a schematic flow chart illustrating another method for controlling application according to an implementation of the present disclosure.

FIG. 3 is a schematic flow chart illustrating yet another method for controlling application according to an implementation of the present disclosure.

FIG. 4 is a schematic structural diagram illustrating a device for controlling application according to an implementation of the present disclosure.

FIG. 5 is a schematic structural diagram illustrating a terminal device according to an implementation of the present disclosure.

FIG. 6 is a schematic structural diagram illustrating another terminal device according to an implementation of the present disclosure.

DETAILED DESCRIPTION

In order to enable those skilled in the art to better understand solutions of the present disclosure, technical solutions in implementations of the present disclosure will be described clearly and completely hereinafter with reference to the accompanying drawings in the implementations of the present disclosure. Apparently, the described implementations are merely some rather than all implementations of the present disclosure. All other implementations obtained by those ordinarily skilled in the art based on the implementations of the present disclosure without creative efforts shall fall within the protection scope of the present disclosure.

The terms “first”, “second” and the like used in the specification, the claims, and the accompany drawings of the present disclosure are used to distinguish different objects rather than describe a particular order. The terms “include”, “comprise”, and “have” as well as variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus including a series of steps or units is not limited to the listed steps or units, on the contrary, it can optionally include other steps or units that are not listed; alternatively, other steps or units inherent to the process, method, product, or device can be included either.

The term “embodiment” or “implementation” referred to herein means that a particular feature, structure, or feature described in conjunction with the implementation may be contained in at least one implementation of the present disclosure. The phrase appearing in various places in the specification does not necessarily refer to the same implementation, nor does it refer to an independent or alternative implementation that is mutually exclusive with other implementations. It is expressly and implicitly understood by those skilled in the art that an implementation described herein may be combined with other implementations.

According to the implementations of the present disclosure, a method for controlling application is provided. The method may include the follows. A central processing unit (CPU) utilization of a system of a terminal device is obtained in response to a selection operation for a target application of the terminal device, and whether the CPU utilization of the system is higher than or equal to a preset utilization is determined. Based on a determination that the CPU utilization of the system is higher than or equal to the preset utilization, a state of at least one of applications in the background of the terminal device is changed according to at least one of the follows: a launch priority of each of the applications and a CPU utilization of each of the applications, so as to control the CPU utilization of the system of the terminal device to be lower than the preset utilization. The target application is launched when the CPU utilization of the system is lower than the preset utilization.

In at least one implementation, the changing a state of at least one of applications in the background of the terminal device may include the follows. The state of the at least one of the applications is changed, where the launch priority of each of the at least one of the applications is lower than that of the target application.

In at least one implementation, the launch priority of each of the applications is determined according to a usage frequency of each of the applications, and an application having a higher frequency has a higher launch priority.

In at least one implementation, the changing a state of at least one of applications in the background of the terminal device may include the follows. The state of the at least one of the applications is changed, where the CPU utilization of each of the at least one of the applications is higher than or equal to another preset utilization.

In at least one implementation, the changing a state of at least one of applications in the background of the terminal device may include the follows. The state of the at least one of the applications is changed, where the launch priority of each of the at least one of the applications is higher than that of the target application, and the CPU utilization of each of the at least one of the applications is higher than or equal to another preset utilization.

In at least one implementation, the obtaining a CPU utilization of a system of a terminal device may include the follows. A reference waiting time length of operations of the terminal device other than an input and output operation within a first preset period is obtained, where the first preset period contains a waiting time length of the input and output operation, the reference waiting time length, a time length in which the CPU is in a kernel mode, a time length in which the CPU is in a user mode, a time length of hardware interrupt of the CPU, a time length of software interrupt of the CPU, and a time length in which the CPU runs processes with negative priorities. The CPU utilization of the system of the terminal device is determined according to the reference waiting time length and the first preset period.

In at least one implementation, the CPU utilization of each of the applications is determined according to another preset period and a CPU occupation time length of each of the applications within the other preset period.

In at least one implementation, the CPU occupation time length of each of the applications within the other preset period is determined according to a CPU occupation time length of a process of each of the applications within the other preset period.

In at least one implementation, the changing a state of at least one of applications in the background of the terminal device may include the follows. The state of the least one of the applications is changed to a pause state or a stop state.

According to the implementations of the present disclosure, a terminal device is provided. The terminal device may include at least one processor and a computer readable memory coupled to the at least one processor and storing at least one computer executable instruction therein which, when executed by the at least one processor, causes the at least one processor to carry out actions. The actions may include the follows. A CPU utilization of a system of the terminal device is obtained in response to a selection operation for a target application of the terminal device, and whether the CPU utilization of the system is higher than or equal to a preset utilization is determined. Based on a determination that the CPU utilization of the system is higher than or equal to the preset utilization, a state of at least one of applications in the background of the terminal device is changed according to at least one of the follows: a launch priority of each of the applications and a CPU utilization of each of the applications, so as to control the CPU utilization of the system of the terminal device to be lower than the preset utilization. The target application is launched when the CPU utilization of the system is lower than the preset utilization.

According to the implementations of the present disclosure, another terminal device is provided. The terminal device may include at least one processor and a computer readable memory coupled to the at least one processor and storing at least one computer executable instruction therein which, when executed by the at least one processor, causes the at least one processor to carry out actions. A CPU utilization of a system of the terminal device is obtained in response to a selection operation for a target application of the terminal device, and whether the CPU utilization of the system is higher than or equal to a preset utilization is determined. Based on a determination that the CPU utilization of the system is higher than or equal to the preset utilization, a state of at least one of applications in the background of the terminal device is changed to decrease a CPU utilization of each of the at least one of the applications. The target application is launched when the state of the at least one of the applications is changed.

To better understand a method for controlling application and a terminal device disclosed in the implementations of the present disclosure, the following will illustrate the implementations of the present disclosure in detail.

Presently, any application of a terminal device can compete for limited central processing unit (CPU) resources as many as possible, such that when a certain application continues in the background with a high CPU utilization, the application competes with an application in the foreground of the terminal device for the CPU resources, which may cause the system to be slow to respond, even that the system and the application in the foreground cannot respond, thereby affecting user experience directly. In the method for controlling application in the implementations of the present disclosure, when it is detected that a CPU utilization of the system of the terminal device is higher than or equal to a preset utilization, a state of at least one of the applications in the background is changed, so as to control the CPU utilization of the system of the terminal device to be lower than the preset utilization. Finally, the target application is launched when the CPU utilization of the system is lower than the preset utilization, thus a phenomenon of slow response in a process of launching the target application which is caused by that the applications in the background occupy too many CPU resources can be avoided, thereby facilitating increasing a speed of launching an application of the terminal device, optimizing efficiency of managing the CPU, avoiding a phenomenon of slow response in a process of running an application, and improving user experience.

Referring to FIG. 1, FIG. 1 is a method for controlling application according to an implementation of the present disclosure. As illustrated in the figure, the method begins at block 101.

At block 101, when a terminal device detects a selection operation for a target application of the terminal device, the terminal device obtains a CPU utilization of a system of the terminal device, and determines whether the CPU utilization of the system is higher than or equal to a first preset utilization.

The target application may be, for example, any third-party application installed in the terminal device or a system application. The selection operation may be, for example, a touch operation, a voice operation, and so on. The first preset utilization may be, for example, 60%, 65%, 70%, and so on.

An implementation in which the terminal device obtains the CPU utilization of the system of the terminal device may include the follows. The terminal device obtains a reference waiting time length of operations of the terminal device other than an input and output operation within a first preset period. The first preset period may contain a waiting time length of the input and output operation, the reference waiting time length, a time length in which the CPU is in a kernel mode, a time length in which the CPU is in a user mode, a time length of hardware interrupt of the CPU, a time length of software interrupt of the CPU, and a time length in which the CPU runs processes with negative priorities. The terminal device determines, according to the reference waiting time length and the first preset period, the CPU utilization of the system of the terminal device.

At block 102, when the CPU utilization of the system is higher than or equal to the first preset utilization, the terminal device changes a state of at least one of applications running in the background of the terminal device, so as to control the CPU utilization of the system of the terminal device to be less than the first preset utilization.

In at least one implementation, the terminal device determines a launch priority of each of the applications. The terminal device changes the state of each of the at least one of the applications, where the launch priority of each of the at least one of the applications is lower than that of the target application. The launch priority of each of the applications can be set in advance by a user, and also may be determined by a usage frequency of each of the applications. An application having a higher usage frequency has a higher launch priority. The applications running in the background may be, for example, a map application which is updating a map off-line, a video application which is downloading video contents, and other applications which is accessing database. The implementation of the present disclosure is not limited thereto.

In at least one implementation, the terminal device obtains a CPU utilization of each of the applications. The terminal device changes the state of the at least one of the applications, where the CPU utilization of each of the at least one of the applications is higher than or equal to a second preset utilization. An implementation in which the terminal device obtains the CPU utilization of each of the applications may include the follows. The terminal device obtains a CPU occupation time length of each of the applications within a second preset period, and determines, according to the CPU occupation time length of each of the applications and the second preset period, the CPU utilization of each of the applications.

In at least one implementation, an implementation in which the terminal device obtains the CPU occupation time length of each of the applications within the second preset period may include the follows. The terminal device determines a process of each of the applications. The terminal device determines a CPU occupation time length of each of the applications according to the CPU occupation time length of the process of each of the applications. The CPU occupation time length of the process of one of the applications is the CPU occupation time length of the one of the applications.

In at least one implementation, when the launch priority of each of the applications is higher than that of the target application, the terminal device changes the state of the at least one of the applications, where the CPU utilization of each of the at least one of the applications is higher than or equal to the second preset utilization.

In at least one implementation, the state of each of the at least one of the applications is changed to a pause state or a stop state.

At block 103, the terminal device launches the target application when the CPU utilization of the system is less than the first preset utilization.

It can be seen that in the method for controlling application in the implementation of the present disclosure, when it is detected that the CPU utilization of the system of the terminal device is higher than or equal to the first preset utilization, a state of at least one of the applications in the background is changed, so as to control the CPU utilization of the system of the terminal device to be lower than the first preset utilization. Finally, the target application is launched when the CPU utilization of the system is lower than the first preset utilization, thus a phenomenon of slow response in a process of launching the target application which is caused by that the applications in the background occupy too many CPU resources can be avoided, thereby facilitating increasing a speed of launching an application of the terminal device, optimizing efficiency of managing the CPU, avoiding a phenomenon of slow response in a process of running an application, and improving user experience.

In consistent with the implementation illustrated in FIG. 1, referring to FIG. 2, FIG. 2 is a schematic flow chart illustrating another method for controlling application. As illustrated in the figure, the method begins at block 201.

At block 201, when a terminal device detects a selection operation for a target application of the terminal device, the terminal device obtains a CPU utilization of a system of the terminal device, and determines whether the CPU utilization of the system is higher than or equal to a first preset utilization.

At block 202, when the CPU utilization of the system is higher than or equal to the first preset utilization, the terminal device obtains a launch priority of each of n applications running in the background of the terminal device, and n is a positive integer.

At block 203, when the n applications contain m applications the launch priority of each of which is lower than that of the target application, the terminal device changes a state of at least one of the m applications, so as to control the CPU utilization of the system of the terminal device to be less than the first preset utilization, and m is a positive integer less than or equal to n.

At block 204, the terminal device launches the target application when the CPU utilization of the system is less than the first preset utilization.

It can be seen that under the condition that the applications in the background of the terminal device contain one application the launch priority of which is lower than that of the target application, in the implementation of the present disclosure, the state of the application in the background the launch priority of which is lower than that of the target application is changed, so as to control the CPU utilization of the system of the terminal device to be less than the first preset utilization. The target application is then launched when the CPU utilization of the system is less than the first preset utilization, thus a phenomenon of slow response in a process of launching the target application which is caused by that the applications in the background occupy too many CPU resources can be avoided, thereby facilitating increasing a speed of launching an application of the terminal device, optimizing efficiency of managing the CPU, avoiding a phenomenon of slow response in a process of running an application, and improving user experience.

In consistent with the implementations illustrated in FIG. 1 and FIG. 2, referring to FIG. 3, FIG. 3 is a schematic flow chart illustrating another method for controlling application according to an implementation of the present disclosure. As illustrated in the figure, the method begins at block 301.

At block 301, when a terminal device detects a selection operation for a target application of the terminal device, the terminal device obtains a reference waiting time length of operations of the terminal device other than an input and output operation within a first preset period. The first preset period may contain a waiting time length of the input and output operation, the reference waiting time length, a time length in which the CPU is in a kernel mode, a time length in which the CPU is in a user mode, a time length of hardware interrupt of the CPU, a time length of software interrupt of the CPU, and a time length in which the CPU runs processes with negative priorities.

At block 302, the terminal device determines a CPU utilization of a system of the terminal device according to the reference waiting time length and the first preset period, and determines whether the CPU utilization of the system is higher than or equal to a first preset utilization.

At block 303, when the CPU utilization of the system is higher than or equal to the first preset utilization, the terminal device obtains a launch priority of each of n applications running in the background of the terminal device, and n is a positive integer.

At block 304, when the launch priority of each of the n applications is higher than or equal to that of the target application, the terminal device obtains a CPU occupation time length of each of the n applications within a second preset period, and determines, according to the CPU occupation time length of each of the n applications and the second preset period, the CPU utilization of each of the n applications.

At block 305, the terminal device changes a state of at least one of the n applications according to the CPU utilization of each of the n applications, so as to control the CPU utilization of the system of the terminal device to be lower than the first preset utilization.

At block 306, the terminal device launches the target application when the CPU utilization of the system is lower than the first preset utilization.

It can be seen that in the method for controlling application in the implementation of the present disclosure, when it is detected that the priorities of the applications running in the background of the terminal device are all higher than that of the pre-launch target application, the CPU utilization of each of the applications in the background is obtained, the state of at least one of the applications in the background is changed according to the CPU utilization of each of the applications in the background, so as to control the CPU utilization of the system of the terminal device to be lower than the first preset utilization. Finally, the target application is launched when the CPU utilization of the system is less than the first preset utilization, thus a phenomenon of slow response in a process of launching the target application which is caused by that the applications in the background occupy too many CPU resources can be avoided, thereby facilitating increasing a speed of launching an application of the terminal device, optimizing efficiency of managing the CPU, avoiding a phenomenon of slow response in a process of running an application, and improving user experience.

The following illustrates a device implementation of the present disclosure. The device implementation of the present disclosure is configured to perform the methods realized by the method implementations of the present disclosure. As illustrated in FIG. 4, the device for controlling application may include a determining unit 401, a state changing unit 402, and a launching unit 403.

The determining unit 401 is configured to obtain a CPU utilization of a system of a terminal device when a selection operation for a target application of the terminal device is detected, and determine whether the CPU utilization of the system is higher than or equal to a first preset utilization.

An implementation in which the determining unit 401 obtains the CPU utilization of the system of the terminal device may include the follows. The determining unit 401 obtains a reference waiting time length of operations of the terminal device other than an input and output operation within a first preset period. The first preset period may contain a waiting time length of the input and output operation, the reference waiting time length, a time length in which the CPU is in a kernel mode, a time length in which the CPU is in a user mode, a time length of hardware interrupt of the CPU, a time length of software interrupt of the CPU, and a time length in which the CPU runs processes with negative priorities. The determining unit 401 determines, according to the reference waiting time length and the first preset period, the CPU utilization of the system of the terminal device.

The state changing unit 402 is configured to change, based on a determination that the CPU utilization of the system is higher than or equal to the first preset utilization, a state of at least one of applications in the background of the terminal device, so as to control the CPU utilization of the system of the terminal device to be lower than the first preset utilization.

In at least one implementation, the state changing unit 402 is configured to determine a launch priority of each of the applications, and change the state of each of the at least one of the applications, where the launch priority of each of the at least one of the applications is lower than that of the target application. The launch priority of each of the applications can be set in advance by a user, and also may be determined by a usage frequency of each of the applications. An application having a higher usage frequency has a higher launch priority. The applications running in the background may be, for example, a map application which is updating a map off-line, a video application which is downloading video contents, and other applications which is accessing database. The implementation of the present disclosure is not limited thereto.

In at least one implementation, the state changing unit 402 is configured to obtain a CPU utilization of each of the applications, and change the state of the at least one of the applications, where the CPU utilization of each of the at least one of the applications is higher than or equal to a second preset utilization. An implementation in which the state changing unit 402 obtains the CPU utilization of each of the applications may include the follows. The state changing unit 402 obtains a CPU occupation time length of each of the applications within a second preset period, and determines, according to the CPU occupation time length of each of the applications and the second preset period, the CPU utilization of each of the applications.

In at least one implementation, an implementation in which the state changing unit 402 obtains the CPU occupation time length of each of the applications within the second preset period may include the follows. The state changing unit 402 determines a process of each of the applications, and determines the CPU occupation time length of each of the applications according to the CPU occupation time length of the process of each of the applications. The CPU occupation time length of the process of one of the applications is the CPU occupation time length of the one of the applications.

In at least one implementation, when the launch priority of each of the applications is higher than that of the target application, the state changing unit 402 may be configured to change the state of the at least one of the applications, where the CPU utilization of each of the at least one of the applications is higher than or equal to the second preset utilization.

In at least one implementation, the state of each of the at least one of the applications is changed to a pause state or a stop state.

The launching unit 403 is configured to launch the target application when the CPU utilization of the system is less than the first preset utilization.

It can be seen that in the device for controlling application in the implementation of the present disclosure, when it is detected that the CPU utilization of the system of the terminal device is higher than or equal to the first preset utilization, a state of at least one of the applications in the background is changed, so as to control the CPU utilization of the system of the terminal device to be lower than the first preset utilization. Finally, the target application is launched when the CPU utilization of the system is lower than the first preset utilization, thus a phenomenon of slow response in a process of launching the target application which is caused by that the applications in the background occupy too many CPU resources can be avoided, thereby facilitating increasing a speed of launching an application of the terminal device, optimizing efficiency of managing the CPU, avoiding a phenomenon of slow response in a process of running an application, and improving user experience.

It shall be noted that the device for controlling application illustrated in the device implementation of the present disclosure is presented in the form of functional units. “Units” used herein shall be broadly understood as much as possible. Objects for realizing functions described in various “units” may be for example, an application-specific integrated circuit (ASIC), a single circuit, processors (shared, specified, or a set of chips) for performing one or more software or hardware programs, a memory, a combinational logic circuit, and/or other appropriate components for realizing the above functions.

For example, the function that the state changing unit 402 changes the state of at least one of the applications may be realized by a terminal device illustrated in FIG. 4. Specifically, a processor 501 invokes executable program codes stored in a memory 502 to change the state of at least one of the applications according to at least one of the follows: the CPU utilization of each of the applications and the launch priority of each of the applications.

Implementations of the present disclosure further provide another terminal device. As illustrated in FIG. 5, the terminal device may include the processor 501, the memory 502, a communication interface 503, and a communication bus 504. The processor 501, the memory 502, and the communication interface 503 can connect and communicate with each other via the communication bus 504. The processor 501 controls wireless communication with external cellular networks via the communication interface 503. The communication interface 503 includes but is not limited to an antenna, an amplifier, a transceiver, a coupler, a low noise amplifier (LNA), a duplexer and the like. The memory 502 may include at least one of the follows: a random access memory (RAM), a nonvolatile memory, and an external memory.

The memory 502 stores at least one executable instruction therein. When the at least one executable instruction in the memory 502 is executed by the processor 501, the processor 501 is caused to carry out actions.

In the implementation, the processor 501 is caused to obtain a CPU utilization of a system of the terminal device when a selection operation for a target application of the terminal device is detected, and determine whether the CPU utilization of the system is higher than or equal to a first preset utilization. Based on a determination that the CPU utilization of the system is higher than or equal to the first preset utilization, the processor 501 is further caused to change a state of at least one of applications in the background of the terminal device according to at least one of the follows: a launch priority of each of the applications and a CPU utilization of each of the applications, so as to control the CPU utilization of the system of the terminal device to be lower than the first preset utilization. The processor 501 is further caused to launch the target application when the CPU utilization of the system is less than the first preset utilization.

It can be seen that in the terminal device of the present disclosure, when it is detected that the CPU utilization of the system of the terminal device is higher than or equal to the first preset utilization, a state of at least one of the applications in the background is changed, so as to control the CPU utilization of the system of the terminal device to be lower than the first preset utilization. Finally, the target application is launched when the CPU utilization of the system is lower than the first preset utilization, thus a phenomenon of slow response in a process of launching the target application which is caused by that the applications in the background occupy too many CPU resources can be avoided, thereby facilitating increasing a speed of launching an application of the terminal device, optimizing efficiency of managing the CPU, avoiding a phenomenon of slow response in a process of running an application, and improving user experience.

In at least one implementation, the processor 501 caused to change the state of the at least one of the applications is further caused to change the state of the at least one of the applications, where the launch priority of each of the at least one of the applications is lower than that of the target application.

In at least one implementation, the processor 501 is further caused to determine the launch priority of each of the applications according to a usage frequency of each of the applications, where an application having a higher frequency has a higher launch priority.

In at least one implementation, the processor 501 caused to change the state of the at least one of the applications is further caused to change the state of the at least one of the applications, where the CPU utilization of each of the at least one of the applications is higher than or equal to a second preset utilization.

In at least one implementation, the processor 501 caused to change the state of the at least one of the applications is further caused to change the state of the at least one of the applications, where the launch priority of each of the at least one of the applications is higher than that of the target application, and the CPU utilization of each of the at least one of the applications is higher than or equal to a second preset utilization.

In at least one implementation, the processor 501 caused to obtain the CPU utilization of the system of the terminal device is further caused to obtain a reference waiting time length of operations of the terminal device other than an input and output operation within a first preset period, where the first preset period contains a waiting time length of the input and output operation, the reference waiting time length, a time length in which the CPU is in a kernel mode, a time length in which the CPU is in a user mode, a time length of hardware interrupt of the CPU, a time length of software interrupt of the CPU, and a time length in which the CPU runs processes with negative priorities. The processor 501 is further caused to determine the CPU utilization of the system of the terminal device according to the reference waiting time length and the first preset period.

In at least one implementation, the processor 501 is further caused to determine the CPU utilization of each of the applications according to a second preset period and a CPU occupation time length of each of the applications within the second preset period.

In at least one implementation, the processor 501 is further caused to determine the CPU occupation time length of each of the applications within the second preset period according to a CPU occupation time length of a process of each of the applications within the second preset period.

In at least one implementation, the processor 501 caused to change the state of the at least one of the applications is further caused to change the state of the at least one of the applications to a pause state or a stop state.

In an alternative implementation, the processor 501 is caused to determine a CPU utilization of the system of the terminal device in response to a selection operation for a target application of the terminal device, and determine whether the CPU utilization of the system is higher than or equal to a preset utilization. The processor 501 is further caused to change, based on a determination that the CPU utilization of the system is higher than or equal to the preset utilization, a state of at least one of applications in the background of the terminal device to decrease a CPU utilization of each of the at least one of the applications, and launch the target application when the state of the at least one of the applications is changed.

Implementations of the present disclosure further provide another terminal device. As illustrated in FIG. 6, only parts related to the implementation of the disclosure are illustrated for the convenience of description. For technical details not described, reference may be made to the method implementations of the present disclosure. The terminal device may be any terminal devices, such as a mobile phone, a tablet computer, a personal digital assistant (PDA), a point of sale terminal (POS), an on-board computer, and the like. The following describes a mobile phone as an example of the terminal device.

FIG. 6 is a block diagram illustrating a part of the structure of a mobile phone related to the terminal device according to an implementation of the present disclosure. With reference to FIG. 6, the mobile phone may include a radio frequency (RF) circuit 610, a memory 620, an input unit 630, a display unit 640, a sensor 650, an audio circuit 660, a wireless fidelity (Wi-Fi) module 670, a processor 680, a power supply 690, and so on. Those skilled in the art can understand that the structure of the mobile phone illustrated in FIG. 6 does not constitute any limitation on a mobile phone. The mobile phone may include more or fewer components than illustrated, or may combine certain components or different components.

The following will specifically illustrate various components of the mobile phone in combination with FIG. 6.

The RF circuit 610 is configured to receive and transmit information. Generally, the RF circuit 610 includes but is not limited to an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier (LNA), a duplexer and the like. In addition, the RF circuit 610 may also communicate with the network and other devices by wireless communication. The above wireless communication may use any communication standard or protocol, which includes but is not limited to global system of mobile communication (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), long term evolution (LTE), E-mail, short messaging service (SMS) and so on.

The memory 620 is configured to store software programs and modules, and the processor 680 is configured to execute various function applications and data processing of the mobile phone by running the software programs and the modules stored in the memory 620. The memory 620 mainly includes a program storage area and a data storage area. The program storage area may store an operating system, application programs required for at least one function (for example, a function of obtaining a CPU utilization, a function of changing a state of an application, and so on) and so on. The data storage area may store data (for example, a first CPU utilization of a system, a launch priority of an application, and so on) created according to use of the mobile phone, and so on. In addition, the memory 620 may include a high-speed RAM, and may further include a non-volatile memory such as at least one disk storage device, a flash device, or other non-volatile solid storage devices.

The input unit 630 may be configured to receive input digital or character information and generate key signal input associated with user setting and function control of the mobile phone. Specifically, the input unit 630 may include a fingerprint recognition module 631 and other input devices 632. The fingerprint recognition module 631 can collect data of fingerprint of a user thereon. Optionally, the fingerprint recognition module 631 may include an optical fingerprint module, a capacitive fingerprint module, and a radio fingerprint module. Take the capacitive fingerprint recognition module as an example of the fingerprint recognition module 631, the capacitive fingerprint recognition module specifically includes sensing electrodes (abnormal sensing electrodes and normal sensing electrodes) and signal processing circuits (such as an amplifying circuit, a noise suppression circuit, an analog-digital conversion circuit, and so on) connected to the sensing electrodes. In addition to the fingerprint recognition module 631, the input unit 630 may still include other input devices 632. Specifically, the other input devices 632 may include, but is not limited to, one or more of a physical keyboard, function keys (such as volume control buttons, switch buttons, and so on), a trackball, a mouse, and a joystick.

The display unit 640 is configured to display information input by the user or information provided for the user or various menus of the mobile phone. The display unit 640 may include a display screen 641, and alternatively, the display screen 641 may be in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED) and so on. Although in FIG. 6, the fingerprint recognition module 631 and the display screen 641 are used as two separate components to realize the input and output functions of the mobile phone, in some implementations, the fingerprint recognition module 631 may be integrated with the display screen 641 to implement the input and output functions of the mobile phone.

The mobile phone may also include at least one sensor 650, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor may include an ambient light sensor and a proximity sensor, and the ambient light sensor may adjust the brightness of the display screen 641 according to ambient lights, and the proximity sensor may turn off the display screen 641 and/or backlight when the mobile phone reaches nearby the ear. As a kind of motion sensor, the accelerometer sensor can detect the magnitude of acceleration in all directions (typically three axes) and when the mobile phone is stationary, the accelerometer sensor can detect the magnitude and direction of gravity; the accelerometer sensor can also identify mobile-phone gestures related applications (such as vertical and horizontal screen switch, related games, magnetometer attitude calibration), or the accelerometer sensor can be used for vibration-recognition related functions (such as a pedometer, percussion) and so on. The mobile phone can also be equipped with a gyroscope, a barometer, a hygrometer, a thermometer, and an infrared sensor and other sensors, and unnecessary details will not be repeated herein.

The audio circuit 660, a speaker 661, a microphone 662 may provide an audio interface between the user and the mobile phone. The audio circuit 660 may convert the received audio data into electrical signals and transfer the electrical signals to the speaker 661; thereafter the speaker 661 converts the electrical signals into sound signals to output. On the other hand, the microphone 662 converts the received sound signals into electrical signals, which will be received and converted into audio data by the audio circuit 660 to output. The audio data is then processed and transmitted by the processor 680 via the RF circuit 610 to another mobile phone for example, or, the audio data is output to the memory 620 for further processing.

Wi-Fi belongs to a short-range wireless transmission technology. With aid of the Wi-Fi module 670, the mobile phone may assist the user in E-mail receiving and sending, webpage browsing, access to streaming media and the like. Wi-Fi provides users with wireless broadband Internet access. Although the Wi-Fi module 670 is illustrated in FIG. 6, the Wi-Fi module 670 is not essential to the mobile phone and can be omitted according to actual needs without departing from the essential nature of the present disclosure.

The processor 680 is the control center of the mobile phone, it connects various parts of the whole mobile phone through various interfaces and lines, runs or executes software programs and/or modules stored in the memory 620, and invokes data stored in the memory 620 to perform various functions of the mobile phone and process data, thereby monitoring the mobile phone as a whole. Optionally, the processor 680 may include one or more processing units; for example, the processor 680 may integrate an application processor and a modem processor, where the application processor handles the operating system, the user interface, the application, and so on, and the modem processor mainly processes wireless communication. It can be understood that the above-mentioned modem processor may not be integrated into the processor 680.

The mobile phone may also include the power supply 690 (e.g., a battery) that supplies power to various components. Preferably, the power supply may be logically connected to the processor 680 via a power management system to enable management of charging, discharging, and power consumption through the power management system.

Although not illustrated, the mobile phone may further include a camera, a Bluetooth module, and so on, and unnecessary details will not be repeated herein.

In the above implementations illustrated in FIG. 1, FIG. 2, and FIG. 3, method processes in various steps may be realized based on the structure of the mobile phone.

In the above implementation illustrated in FIG. 4, functions of various units may be realized based on the structure of the mobile phone.

Implementations of the present disclosure also provide a computer storage medium. The computer storage medium stores programs, and when the programs are executed, a part of or all of steps of any of the above methods for controlling application recorded in the above method implementations can be realized.

It is to be noted that, for the sake of simplicity, the foregoing method implementations are described as a series of action combinations, however, it will be appreciated by those skilled in the art that the present disclosure is not limited by the sequence of actions described. According to the present disclosure, certain steps or operations may be performed in other order or simultaneously. Besides, it will be appreciated by those skilled in the art that the implementations described in the specification are exemplary implementations and the actions and modules involved are not necessarily essential to the present disclosure.

In the foregoing implementations, the description of each implementation has its own emphasis. For the parts not described in detail in one implementation, reference may be made to related descriptions in other implementations.

In the implementations of the disclosure, it can be understood that the apparatus disclosed in implementations provided herein may be implemented in other manners. For example, the device/apparatus implementations described above are merely illustrative; for instance, the division of the units is only a logical function division and there can be other manners of division during actual implementations, for example, multiple units or components may be combined or may be integrated into another system, or some features may be ignored, omitted, or not performed. In addition, coupling or direct coupling or communication connection among illustrated or discussed components may be indirect coupling or communication connection among devices or units via some interfaces, and may be electrical connection, or other forms of connection.

The units described as separate components may or may not be physically separated, the components illustrated as units may or may not be physical units, that is, they may be in the same place or may be distributed to multiple network elements. All or part of the units may be selected according to actual needs to achieve the technical solutions of the implementations.

In addition, the functional units in various implementations of the present disclosure may be integrated into one processing unit, or each unit may be physically present, or two or more units may be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or a software function unit.

The integrated unit may be stored in a computer-readable memory when it is implemented in the form of a software functional unit and is sold or used as a separate product. Based on such understanding, the technical solutions of the present disclosure essentially, or the part of the technical solutions that contributes to the related art, or all or part of the technical solutions, may be embodied in the form of a software product which is stored in a memory and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device and so on) to perform all or part of the steps described in the various implementations of the present disclosure. The memory includes various medium capable of storing program codes, such as a universal serial bus (USB) flash disk, a read-only memory (ROM), a random-access memory (RAM), a movable hard disk, a disk, a compact disc (CD), and the like.

It will be understood by those ordinarily skilled in the art that all or a part of steps of the various methods of the implementations described above may be accomplished by means of a program to instruct associated hardware, the program may be stored in a computer-readable memory, which may include a flash memory, a read-only memory (ROM), a random-access memory (RAM), a disk or a compact disc (CD), and so on.

The above illustrates the implementations of the present disclosure in detail. The specification employs specific examples to illustrate the principle and implementation manners of the present disclosure. The illustration of the above implementations is just used to help in understanding of the method and core concept of the present disclosure. Meanwhile, for a person ordinarily skilled in the art, depending on the concept of the present disclosure, changes may be made on the specific implementations and application range. In conclusion, the content of the specification shall not be understood to limit the present disclosure. 

What is claimed is:
 1. A method for controlling application, comprising: obtaining a central processing unit (CPU) utilization of a system of a terminal device in response to a selection operation for a target application of the terminal device, and determining whether the CPU utilization of the system is higher than or equal to a preset utilization; changing, based on a determination that the CPU utilization of the system is higher than or equal to the preset utilization, a state of at least one of applications in background of the terminal device according to at least one of a launch priority of each of the applications or a CPU utilization of each of the applications, so as to control the CPU utilization of the system of the terminal device to be lower than the preset utilization; and launching the target application when the CPU utilization of the system is lower than the preset utilization.
 2. The method of claim 1, wherein changing the state of the at least one of the applications in the background of the terminal device comprises: changing the state of the at least one of the applications, wherein the launch priority of each of the at least one of the applications is lower than a launch priority of the target application.
 3. The method of claim 2, wherein the launch priority of each of the applications is determined according to a usage frequency of each of the applications, and an application having a higher frequency has a higher launch priority.
 4. The method of claim 1, wherein changing the state of the at least one of the applications in the background of the terminal device comprises: changing the state of the at least one of the applications, wherein the CPU utilization of each of the at least one of the applications is higher than or equal to another preset utilization.
 5. The method of claim 1, wherein changing the state of the at least one of the applications in the background of the terminal device comprises: changing the state of the at least one of the applications, wherein the launch priority of each of the at least one of the applications is higher than a launch priority of the target application, and the CPU utilization of each of the at least one of the applications is higher than or equal to another preset utilization.
 6. The method of claim 1, wherein obtaining the CPU utilization of the system of the terminal device comprises: obtaining a reference waiting time length of operations of the terminal device other than an input and output operation within a preset period, wherein the preset period contains a waiting time length of the input and output operation, the reference waiting time length, a time length in which the CPU is in a kernel mode, a time length in which the CPU is in a user mode, a time length of hardware interrupt of the CPU, a time length of software interrupt of the CPU, and a time length in which the CPU runs processes with negative priorities; and determining the CPU utilization of the system of the terminal device according to the reference waiting time length and the preset period.
 7. The method of claim 1, wherein the CPU utilization of each of the n applications is determined according to a preset period and a CPU occupation time length of each of the applications within the preset period.
 8. A terminal device comprising: at least one processor; and a computer readable memory, coupled to the at least one processor and storing at least one computer executable instruction therein which, when executed by the at least one processor, causes the at least one processor to: obtain a central processing unit (CPU) utilization of a system of the terminal device in response to a selection operation for a target application of the terminal device, and determining whether the CPU utilization of the system is higher than or equal to a preset utilization; change, based on a determination that the CPU utilization of the system is higher than or equal to the preset utilization, a state of at least one of applications in background of the terminal device according to at least one of a launch priority of each of the applications or a CPU utilization of each of the applications, so as to control the CPU utilization of the system of the terminal device to be lower than the preset utilization; and launch the target application when the CPU utilization of the system is lower than the preset utilization.
 9. The terminal device of claim 8, wherein the at least one processor caused to change the state of the at least one of the applications in the background of the terminal device is further caused to: change the state of the at least one of the applications, wherein the launch priority of each of the at least one of the applications is lower than a launch priority of the target application.
 10. The terminal device of claim 8, wherein the at least one processor caused to change the state of the at least one of the applications in the background of the terminal device is further caused to: change the state of the at least one of the applications, wherein the CPU utilization of each of the at least one of the applications is higher than or equal to another preset utilization.
 11. The terminal device of claim 8, wherein the at least one processor caused to change the state of the at least one of the applications in the background of the terminal device is further caused to: change the state of the at least one of the applications, wherein the launch priority of each of the at least one of the applications is higher than a launch priority of the target application, and the CPU utilization of each of the at least one of the applications is higher than or equal to another preset utilization.
 12. The terminal device of claim 8, wherein the at least one processor caused to obtain the CPU utilization of the system of the terminal device is further caused to: obtain a reference waiting time length of operations of the terminal device other than an input and output operation within a preset period, wherein the preset period contains a waiting time length of the input and output operation, the reference waiting time length, a time length in which the CPU is in a kernel mode, a time length in which the CPU is in a user mode, a time length of hardware interrupt of the CPU, a time length of software interrupt of the CPU, and a time length in which the CPU runs processes with negative priorities; and determine the CPU utilization of the system of the terminal device according to the reference waiting time length and the preset period.
 13. The terminal device of claim 8, wherein the at least one processor is further caused to: determine the CPU utilization of each of the applications according to a preset period and a CPU occupation time length of each of the applications within the preset period.
 14. The terminal device of claim 13, wherein the at least one processor is further caused to: determine the CPU occupation time length of each of the applications within the preset period according to a CPU occupation time length of a process of each of the applications within the preset period.
 15. A terminal device, comprising: at least one processor; and a computer readable memory, coupled to the at least one processor and storing at least one computer executable instruction therein which, when executed by the at least one processor, causes the at least one processor to: determine a central processing unit (CPU) utilization of a system of the terminal device in response to a selection operation for a target application of the terminal device, and determine whether the CPU utilization of the system is higher than or equal to a preset utilization; change, based on a determination that the CPU utilization of the system is higher than or equal to the preset utilization, a state of at least one of applications in background of the terminal device to decrease a CPU utilization of each of the at least one of the applications; and launch the target application when the state of the at least one of the applications is changed.
 16. The terminal device of claim 15, wherein the at least one processor is further caused to: prior to changing the state of the at least one of the applications in the background of the terminal device, determine a launch priority of each of the applications; and the at least one processor caused to change the state of the at least one of the applications in the background of the terminal device is further caused to: change the state of the at least one of the applications, wherein the launch priority of each of the at least one of the applications is lower than that of the target application.
 17. The terminal device of claim 15, wherein the at least one processor is further caused to: prior to changing the state of the at least one of the applications in the background of the terminal device, determine a CPU utilization of each of the applications; and the at least one processor caused to change the state of the at least one of the applications is further caused to: change the state of the at least one of the applications, wherein the CPU utilization of each of the at least one of the applications is greater than or equal to another preset utilization.
 18. The terminal device of claim 17, wherein the at least one processor caused to determine the CPU utilization of each of the applications is further caused to: determine a CPU occupation time length of each of the applications with a preset period; and determine the CPU utilization of each of the applications according to the preset period and the CPU occupation time length of each of the applications within the preset period.
 19. The terminal device of claim 15, wherein the at least one processor is further caused to: prior to changing the state of the at least one of the applications in the background of the terminal device, determine a launch priority and a CPU utilization of each of the applications; and the at least one processor caused to change the state of the at least one of the applications is further caused to: change the state of the at least one of the applications, wherein the launch priority of each of the at least one of the applications is higher than a launch priority of the target application, and the CPU utilization of each of the at least one of the applications is greater than or equal to another preset utilization.
 20. The terminal device of claim 15, wherein the at least one processor caused to change the state of the at least one of the applications is further caused to: change the state of the at least one of the applications to a pause state or a stop state. 